//引入一级路由组件      ******直接引入*********
// import Home from '@/pages/Home'
// import Search from '@/pages/Search'
//  import Login from '@/pages/Login'
//  import Register from '@/pages/Register'
//  import Detail from '@/pages/Detail'
//  import AddCartSuccess from '@/pages/AddCartSuccess'
//  import ShopCart from '@/pages/ShopCart'
//  import Trade from '@/pages/Trade'
//  import Pay from '@/pages/Pay'
//  import PaySuccess from '@/pages/PaySuccess'
//  import Center from '@/pages/Center'
//  //引入二级路由组件
//  import MyOrder from '@/pages/Center/MyOrder'
//  import GroupOrder from '@/pages/Center/GroupOrder'


/*  
   当打包构建应用时，JavaScript 包会变得非常大，影响页面加载。   懒加载引入路由
   如果我们能把不同路由对应的组件分割成不同的代码块，然后当路由被访问的时候才加载对应组件，这样就会更加高效
 */

//路由配置信息
export default [
    {
        path: "/center",
        component: ()=>import('@/pages/Center'),
        meta: { show: true },
        //二级路由组件
        children: [
            {
                path: 'myorder',
                component: ()=>import('@/pages/Center/MyOrder'),
            },
            {
                path: 'grouporder',
                component: ()=>import('@/pages/Center/GroupOrder')
            },
            {
                path: '/center',
                //访问center就重定向 myorder
                redirect: '/center/myorder'
            }
        ]
    },
    {
        path: "/paysuccess",
        component: ()=>import('@/pages/PaySuccess'),
        meta: { show: true },
    },
    {
        path: "/pay",
        component: ()=>import('@/pages/Pay'),
        meta: { show: true },
        //独享路由守卫
        beforeEnter: (to, from, next) => {
            //去支付页面，必须是从trade 提交订单过来  
            if (from.path == '/trade') {
                next();
            } else {
                next(false)
            }
        }
    },
    {
        path: "/trade",
        component: ()=>import('@/pages/Trade'),
        meta: { show: true },
        //独享路由守卫
        beforeEnter: (to, from, next) => {
            //去交易页面，可从shopcart 而来  
            if (from.path == '/shopcart') {
                next()
            } else {
                //其它的路由组件而来，停留在当前
                next(false)
            }
        }
    },
    {
        path: "/shopcart",
        component: ()=>import('@/pages/ShopCart'),
        meta: { show: true }
    },
    {
        path: "/addcartsuccess",
        name: 'addcartsuccess',
        component:()=>import('@/pages/AddCartSuccess'),
        meta: { show: true }
    },
    {
        path: "/detail/:skuid",
        component: ()=>import('@/pages/Detail'),
        meta: { show: true }
    },
    {
        path: "/home",
        component: ()=>import('@/pages/Home'),
        meta: { show: true }
    },
    {
        path: "/search/:keyword?",
        component: ()=>import('@/pages/Search'),
        meta: { show: true },
        name: "search",
        //路由组件能不能传递props数据？
        //布尔值写法:params 
        //props:true
        //对象写法
        props: { a: 1, b: 2 },
    },
    {
        path: "/login",
        component: ()=>import('@/pages/Login'),
        meta: { show: false }
    },
    {
        path: "/register",
        component: ()=>import('@/pages/Register'),
        meta: { show: false }
    },
    //重定向，在项目跑起来的时候，访问/，立马定向到首页
    {
        path: '*',
        redirect: "/home"
    }
]